package MAIN;

import java.util.Scanner;

//笔试强训第35天
/*选择题*/
/*再支持多线程系统种，一个进程中若干个线程可以共享的是：这个进程的代码段（），这个进程打开的文件，进程的全局变量*/
/*死锁的四个必要条件：1.互斥条件:一个资源每次只能被一个进程使用  2.请求与保持：一个进程因请求资源而被阻塞，对以获得的
* 资源保持不放    3.不剥夺：进程已经获得的资源，在未使用完之前，不能强行剥夺   4.循环等待：若干进程之间形成一种头尾
* 详解的循环等待资源关系
* 如果有多个进程或线程对同一个资源的操作，那么就一定需要加锁，也就是一定涉及到竞争*/
/*并发：多个进程在一个CPU下采用时间片轮转的方式，在一段时间内，让多个进程都得以推进，称之为并发
* 并行：多个进程在多个CPU下分别同时进行运行，称之为并行*/
/*一个进程可能包含多个线程，对于同样一个进程中的线程切换，不会引起进程切换，不同进程中的线程的切换才会导致进程切换*/
/*对于正在等待事件的进程，可以将其换出外存（部分或全部），以空出更多的内存加载新的进程，使CPU资源充分被利用，并不是操作
* 系统中的所有程序都是常驻内存的*/
/*逻辑地址就是虚拟内存地址，物理地址就是硬件上的真实的地址，地址映射就是为了保证CPU执行指令时可正确访问存储单元，需要
* 将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址
* 内存分配：在进程创建的时候先要给进程分配一块内存空间*/
/*为了描述控制进程的运行，系统中存放进程的管理和控制信息的数据结构称为进程控制块（PCB）它是进程管理和控制的最重要的
* 数据结构，每一个进程都有一个PCB，在创建进程时就简历PCB，伴随进程运行的全过程，直到进程撤销而撤销
* PCB一般包括：1.程序ID：是唯一的，一个进程必须对应一个PID，一般是整形数字
* 2.特征信息：一般分系统进程，用户进程，或者内核进程  3.进程状态：运行，就绪，阻塞，表示进程的运行情况
* 4.优先级：表示获得CPU控制权的优先级大小   5.通信信息：进程之间的通信关系的反应，由于操作系统会提供通信信道
* 6.现场保护区：保护阻塞的进程用   7.资源请求、分配控制信息   8.进程实体信息，指明程序路径和名称，进程数据在
* 物理内存还是在交换分区（分页）中  9.其他信息：工作单位，工作区，文件信息等*/
/*死锁是两个进程或者线程都在互相等待对方释放资源，互不相让，就造成了死锁*/
/*在具有对换功能的操作系统中，通常把外存分为文件区和对换区。前者用用户存放文件，后者用于存放从内存换出的进程。
* 抖动现象是指刚刚被换出的页很快又被访问，为此，又要换出其他页，而该页又很快被访问，如此频繁的置换页面，以至于
* 大部分时间都花在页面置换上。   如果此时撤销部分进程可以减少所要用到的页面数，防止抖动*/

//编程题
public class Main35 {
    public static void main(String[] args) {
        //抄送列表
        /*1.将第一行汇总的每个名字按照”，“分隔开，放置到set
        * 2.检测第二行中的名字是否在set中存在
        * a.名字在”“中 -- 直接找下一个引号  b.名字不在”“中，直接找下一个逗号
        * 注意：对于每行数据必须要采用整行进行接收*/



    }
}
